package com.hbnu.common.service;

import com.hbnu.common.response.ServiceResponse;
import com.hbnu.common.entity.User;

/**
 * 登录业务服务（Service）接口。
 * 定义了与用户登录相关的核心业务操作契约，包括登录验证、忘记密码提示等。
 */

public interface LoginService {

    /**
     * 处理用户登录请求，验证用户名和密码的有效性。
     *
     * @param username 用户登录账号（用户名）
     * @param password 用户登录密码
     * @return 封装登录结果的 {@link ServiceResponse}：
     *         - 成功：返回包含用户信息的 success 响应；
     *         - 失败：返回包含具体原因（用户不存在/密码错误）的 fail 响应。
     */
    ServiceResponse<User> handleLogin(String username, String password);

    /**
     * 处理用户忘记密码的请求，返回联系管理员的提示信息。
     * @return 封装提示信息的 {@link ServiceResponse}
     */
    ServiceResponse<Void> handleForgetPassword();
}
